from rest_framework import serializers

from apps.users.models import User


class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ['id', 'username', 'email', 'mobile', 'password']

        extra_kwargs = {
            'password': {'write_only': True, 'max_length': 20, 'min_length': 8},
            'username': {'max_length': 20, 'min_length': 5}
        }

    def create(self, validated_data):
        # 创建用户，密码加密
        return User.objects.create_user(**validated_data)